1. Technical Field
This disclosure generally relates to content management systems, and more specifically relates to a content management system that minimizes accesses to a repository during document reconstitution.
2. Background Art
A content management system (CMS) allows many users to efficiently share electronic content such as text, audio files, video files, pictures, graphics, etc. Content management systems typically control access to content in a repository. A user may generate content, and when the content is checked into the repository, the content is checked by the CMS to make sure the content conforms to predefined rules. A user may also check out content from the repository, or link to content in the repository while generating content. The rules in a CMS assure that content to be checked in or linked to meets desired criteria specified in the rules.
Known content management systems check their rules when content is being checked in. If the rule is satisfied, the content is checked into the repository. If the rule is not satisfied, the content is not checked into the repository. Known content management systems may include rules related to bursting, synchronization and linking. Bursting rules govern how a document is bursted, or broken into individual chunks, when the document is checked into the repository. By bursting a document into chunks, the individual chunks may be potentially reused later by a different author. Synchronization rules govern synchronization between content and metadata related to the content. For example, a synchronization rule may specify that whenever a specified CMS attribute is changed, a particular piece of XML in the content should be automatically updated with that attribute's value. Linking rules govern what content in a repository a user may link to in a document that will be subsequently checked into the repository.
When a document is created and initially checked into a repository, the CMS typically analyzes the document in light of any defined bursting rules, and may burst many different portions of the document. Bursting means that one or more portions of the document are stored as objects in the repository, and each portion of the document that was bursted is then replaced in the document with a link to the object in the repository. By bursting content in a document to an object in the repository, that content is readily available for reuse later on.
If bursting rules are defined that aggressively burst many portions of documents as the documents are checked in, there may become a large number of objects in the repository that the CMS must manage. As the number of objects grows, the performance of the CMS in processing those objects necessarily slows down. Accessing the repository for each and every bursted object when a document is reconstituted may result in an excessive number of accesses to the repository, which may greatly decrease performance. Without a way to reduce the number of accesses to a repository in a CMS when a document is being reconstituted, the computer industry will continue to suffer from excessive overhead in a CMS when a large number of objects are bursted and need to be retrieved from a repository when a document is reconstituted.